# utils/logger.py
import logging
from logging.handlers import RotatingFileHandler

def setup_logger() -> object:
    # 创建一个日志记录器
    logger = logging.getLogger('QY:')
    logger.setLevel(logging.DEBUG)  # 设置日志级别为DEBUG

    # 创建一个日志处理器，用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)  # 设置处理器级别为DEBUG

    # 创建一个日志处理器，用于输出到文件，并设置文件大小和备份文件个数
    fh = RotatingFileHandler('app.log', maxBytes=10000, backupCount=3)
    fh.setLevel(logging.INFO)  # 设置处理器级别为INFO

    # 创建一个日志格式器
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

    # 将格式器添加到处理器
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)

    # 将处理器添加到日志记录器
    logger.addHandler(ch)
    logger.addHandler(fh)

    return logger
